草庐IT

MIME Base64编码

全部标签

windows - 尝试在 32 位 Windows 上运行 64 位测试

我们将单元测试作为构建中的构建后步骤运行。现在我在自动构建svn中自动提取和构建每个修订版的自动构建机器上遇到了这个问题。自动构建脚本会下载一个修订版,进行一些设置,然后在其上调用devenv.exe/build。反过来,这将构建所有内容,然后尝试运行测试。构建卡住,永远无法完成。如果您手动构建解决方案,在运行测试点会出现一个弹出对话框,提示测试可执行文件不是有效的Win32应用程序。我假设autobuilds也以某种方式获得了这个框,但隐藏在某处的非交互式session中。到目前为止,我有两个解决方案的想法:checkin尝试运行测试并检测故障的测试运行器应用程序。这是不可取的,因为

windows - 从 64 位应用程序使用 32 位进程内 COM 服务器的简单方法有哪些?

我有一个32位nativeC++ATL进程内COM服务器,它依赖于大量遗留的32位库。我需要在64位应用程序中使用它,并尽可能进行最小的更改。一种选择是将其放入COM+应用程序中。还有哪些简单的选择? 最佳答案 创建一个加载inproc服务器dll的32位助手应用程序,但它充当本地服务器。编译64位代理stub代码。然后,当64位应用程序尝试加载您的ActiveX时,它不会使用32位inproc(它无法加载),而是加载32位本地服务器-一个单独的进程-这是合法的。代理stub是从您的IDL自动生成的代码,应该可以很好地构建64位。

windows - Microsoft Windows 64 位应用程序开发最佳实践安装文件夹

我的问题是供应商向我提供了一个64位应用程序(打包在一个64位安装程序中),但它会安装到x86(程序文件)文件夹中,他一直告诉我它没问题,但我希望它安装在程序文件目录;因为32位版本会这样做,并且应用程序的脚本是基于此假设开发的。谁能告诉我Microsoft为64位应用程序推荐的最佳实践(链接)。提前致谢。 最佳答案 这可能有帮助:关于64位操作系统上的WindowsInstallerhttp://msdn.microsoft.com/en-us/library/aa367451.aspx您的供应商是否通过MSI文件安装应用程序?如

c++ - 打印机驱动程序开发 - 从 32 位到 64 位

我开发了一个为32位系统编译的驱动程序。该驱动程序基于unidriver。有谁知道要使驱动程序与64位兼容需要什么?如果有的话,我需要对代码做哪些更改?还是只需要用64位版本的DDK编译它?提前致谢。努诺 最佳答案 第一步是使用VisualStudio打开项目并添加x64配置。然后,测试并查看它是否构建(可能不会)。最常见的错误(我遇到过)是这些:DWORD->DWORD_PTR+所有相关的具有长版本的Win32api函数指针截断:将在msvc上发出警告,在gcc上发出错误:在适用的情况下将long/int替换为(u)intptr_

c - shellexec 和 c :\program files - x86 and x64 portability

我正在修改一个开源GUI(用c编写)以将新菜单项添加到托盘应用程序。新的菜单项在程序根目录c:\programfiles目录中执行一个文件(update.exe)。我正在使用shellexec(),它在x86上运行良好,但由于x64上的路径不同-c:\programfiles(x86),它无法加载。我想使用一些像%programfiles%这样的环境变量的效果。对此有什么优雅的解决方案?或者,我确实可以更改update.exe文件的存储位置。将它放在“程序文件”中似乎是最合乎逻辑的。对于上面的问题,它应该放在程序文件之外吗?如果是,在哪里? 最佳答案

c++ - 64位windows文件打开

我正在尝试使用对话框在我的程序中打开一个文件。这在32位系统上完美运行,但是当我尝试在64位系统上使用它时,它无法打开文件。我发现如果试图打开的文件与我的程序位于同一目录中,它就可以正常工作。但是,尝试从另一个文件夹打开文件根本不起作用。因此,我尝试将文件复制到程序文件夹中。这在32位上也能正常工作,但在64位系统上根本不起作用。有什么想法吗?charcwdl[500];getcwd(cwdl,500);stringmystring=string(cwdl);CFileDialogfileDlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST|OFN_HIDEREAD

windows "zip folders"文件编码

通过zip文件夹从zip存档读取文件名时,windows使用哪些编码?据我所知西里尔字母表示为cp866和中欧-cp437其他呢?葡萄牙语Español(西类牙语)Français(法语)波兰语(波兰语)Türkçe(土耳其语)德语(德语)Italiano(意大利语)阿拉伯语(阿拉伯语)波斯语ไทย(泰语)中文(中文)日本语(日语)한국어(韩语)TiếngViệt(越南语)我认为前七个在cp437中。中国人可能在Big5但我对其他人一无所知。 最佳答案 根据ApacheCommonsCompressZippackagedocumen

C++:将 __int64 转换为 unsigned long

我想在Windows和Linux中使用以下函数,但我不确定如何将__int64转换为unsignedlong。像我一样投值安全吗?getTimeInMilliseconds(){#ifdef_WIN32staticconst__int64magic=116444736000000000;//1970/1/1SYSTEMTIMEst;GetSystemTime(&st);FILETIMEft;SystemTimeToFileTime(&st,&ft);//in100-nanosecs...__int64t;memcpy(&t,&ft,sizeoft);return(unsignedlon

c++ - 在 Windows 7 64 位中开发 32 位 C++ 应用程序

我在VisualStudio2008(C++)中开发了一个Win32应用程序。它在32位或64位Windows7中运行良好。但是,有时我需要分配相当大的内存缓冲区(应用程序处理大量数据),如果我在64位Windows7中这样做,它会失败,在32位中它运行良好。大内存缓冲区是指一个~250MB和另一个~150MB。我的PC上安装了8GBRAM,根据我的信息,64位操作系统为32位应用程序提供了4GB可用内存。我不需要接近那个限制,malloc仍然失败。任何想法为什么以及我能做些什么?提前致谢。 最佳答案 150MB和250MB并不是特

windows - 检查 UTF8 编码字符串的有效性

我们需要编写一个函数来检查字符串是否为有效的UTF8。客户端发送数据(应该是UTF8),在服务器端,我们要确认发送的数据是否真的是UTF8。客户端是BREW(移动平台)应用程序,服务器是在windows桌面上编写的(windows的API)。Windows中有没有API可以帮助确定UTF8字符串的有效性?我见过类似MultiByteToWideChar()的东西,它将UTF8转换为宽字符(2个字节),如果我们使用这个函数但它失败了,这意味着传递的字符串没有UTF8字符/字符。 最佳答案 您可以使用MultiByteToWideCha